/**
 * 
 */
package logica.fachadas;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

import logica.clases.Partida;
import logica.colecciones.Partidas;
import logica.datatypes.Jugador.DataJugador_R17;
import logica.datatypes.Partida.DataPartida_R16;
import logica.monitor.Monitor;
import java.io.Serializable;

/**
 * @author pity
 *
 */
public class FachadaPublico implements IFachadaPublico,Serializable {

	private Partidas partidas;
	private Monitor monitorPartidas;
	
	private final static long serialVersionUID = 1;
	
	/**
	 * @param args
	 */
	
	public FachadaPublico()throws RemoteException {
		partidas = Partidas.getInstancia();
		monitorPartidas = Monitor.getInstancia();
	}

	public DataPartida_R16[] listarPartidasRegistradas() throws RemoteException{
		DataPartida_R16[] result;
		monitorPartidas.comienzoLectura();
		result = partidas.listarPartidasRegistradas();
		monitorPartidas.terminoLectura();
		return result;
	}

	public DataJugador_R17[] listarJugadoresPartida(String codigo) throws RemoteException{
		DataJugador_R17[] result;
		monitorPartidas.comienzoLectura();
		/*Partida partida = partidas.find("Partida1");
		result = partida.listarJugadoresPartida();*/
		Partida partida = partidas.find(codigo);
		result = partida.listarJugadoresPartida();
		monitorPartidas.terminoLectura();
		return result;
	}

}
